/* 
 * File:   filter.h
 * Author: gustavo
 *
 * Created on July 14, 2011, 12:05 PM
 */

#ifndef IMFILTER_H
#define	IMFILTER_H

#include "../../matrix/matrix.h"

#ifdef	__cplusplus
extern "C" {
#endif

	typedef Matrix Filter;

	void image_conv(const Image * Gray, const Matrix * Mask, Matrix ** Conv);
	void image_conv_2_pass(const Image * Gray, const Matrix * Mask1, const Matrix * Mask2, Matrix ** Conv);

	void image_get_gradient(const Matrix * Mat, Matrix ** Dx, Matrix ** Dy, Matrix ** Mag, Matrix ** Or);
	//void image_nonmaxsup(const Matrix * Mag, const Matrix * Or, double ray, Matrix ** NMS);

	//void image_nonmaxsup_edge(const Matrix * Mag, const Matrix * Or, double ray, Matrix ** NMS);
	//void image_nonmaxsup_feature(Matrix * Mat, int ray, Matrix ** NMS, Matrix ** Coord);

#ifdef	__cplusplus
}
#endif

#endif	/* IMFILTER_H */

